Créer un projet git
Durant ces exercices nous allons utiliser Git en ligne de commande (sans interface graphique) : l'objectif est de pratiquer les différentes commandes de base git
Installer Git
git
est déjà installé sur Linux et MacOS. Mais si ce n'est pas le cas (pour un linux léger par exemple), il suffit d'installer le paquet git
, par exemple avec apt install git
.
Sur windows on peut installer à partir du setup officiel (https://git-scm.com/download/win) ou avec Chocolatey. Certaine personnes utilisent la jolie app github mais attention à la capture...
Initialiser le dépôt
En ligne de commande créez le dossier de code
tp1_git
.Chargez ce dossier avec VSCode.
Sur Linux : Si VSCode n'est pas installé : snap install --classic code
Pour lancer VSCode :
code
oucode mondossier/
Créez un nouveau fichier Python dans ce dossier appelé
multiplication.py
. Copiez-y le code suivant :
Cliquer pour afficher `multiplication.py` :
- Lancez
git status
. Quel est le problème ? - Initialisez le dépot de code avec la commande
git init
. - Utilisez ensuite
git status
pour voir l'état de votre dépôt.
Dire à Git de suivre un fichier
Pour le moment Git ne versionne aucun fichier du dépôt comme le confirme la commande git status
.
- Utilisez
git add <nom_fichier>
sur le fichier. Puis faites à nouveaugit status
. Le fichier est passé à l'état suivi (tracked). - Créez un nouveau fichier et écrivez quelque chose à l'intérieur (ou copiez un fichier situé en dehors de ce dossier vers ce dossier).
- Faites
git status
à nouveau. Que s'est-il passé ?
Faire votre premier commit
- Faites
git status
pour constater que tous les fichiers sont non suivis sauf un. - Un commit est une version du code validée par un·e développeur/développeuse. Il faut donc que git sache qui vous êtes avant de faire un commit. Pour ce faire, utilisez :
git config --global user.name "<votre nom>"
git config --global user.email "<votre email>"
- Pour créer un commit on utilise la commande
git commit -m "<message_de_commit>"
(commit signifie s'engager alors réfléchissez avant de lancer cette commande !). Utilisons le message"Ceci est mon premier commit"
pour le premier commit d'un dépôt. Valider la version courante. - Lancez un
git status
pour voir l'état du dépôt. Que constate-t-on ? - Lancez
git log
pour observer votre premier commit.
Commit de tous les fichiers
Si le dossier
__pycache__
n'a pas été créé, créez le manuellement juste pour le TP un fichier :mkdir __pycache__; touch __pycache__/moncache.pyc
Utiliser
git add
avec l'option-A
pour ajouter tous les fichiers actuels de votre projet.Qu'affiche
git status
?Lancez à nouveau
git commit
avec un message adéquat.A quoi sert le dossier
__pycache__
? Que faire avec ce dossier ?
Supprimer un fichier
Oh non ! Vous avez ajouté le dossier __pycache__
dans votre commit précédent 🙃
Ce ne serait pas correct de pousser sur Internet votre code en l'état !
- Supprimez le suivi du dossier
__pycache__
avec la commandegit rm
:- Quelles options sont nécessaires ? util
Lancez git rm --help
pour les trouver.
Ignorer un fichier
Maintenant que nous avons supprimé ce dossier nous voulons éviter de l'ajouter accidentellement à un commit à l'avenir. Nous allons ignorer ce dossier.
- Ajoutez un fichier
.gitignore
et à la première ligne ajoutez__pycache__
- Ajoutez ce fichier au suivi.
- Ajoutez un commit avec le message "
ignore __pycache__
" - Lancez le programme
multiplication.py
à nouveau. - Lancez
status
. Que constate-t-on ?
Annuler un ou plusieurs commit
Le problème avec la suppression de __pycache__
de la partie précédente est qu'elle n'affecte que le dernier commit. Le dossier inutile __pycache__
encombre encore l'historique de notre dépôt.
Pour le constater, installez l'extension
Git Graph
de VSCode.Explorer la fenêtre git graph en cliquant sur
Git Graph
en haut à gauche de la fenêtre des fichiers.Regardez successivement le contenu des deux commits.
Pour corriger l'historique du dépôt nous aimerions revenir en arrière.
Utilisez
git reset
avecHEAD~2
pour revenir deux commits en arrière (nous parlerons deHEAD
plus tard).Faites
git status
. Normalement vous devriez avoir un seul fichier non suivi.gitignore
. Git vient de réinitialiser les ajouts des deux commits précédents.Constatez dans Git Graph que seul reste le premier commit qui est toujours là.
Ajouter et committez tous les fichiers non suivis du dépôt.
Vérifier que
__pycache__
n'apparaît pas dans l'historique.
Exercices supplémentaires
Learn git branching
https://learngitbranching.js.org/?locale=fr_FR
- Séquence d'introduction
- Montée en puissance